Contents
前提
延續上次沒打完的…
三 Guarantee of PLA
Linear Separability
要如何知道資料是否能用一條線來劃分?這邊提到一個性質 Linear Separability 線性可分。
那問題來了,當有這性質時,PLA 就會停下來了嗎?
與目標做比較
假設 $w_f$ 是完美正確的,那就代表它不會出錯。也就是其 w 和 x 做內積後的結果(正負)會與 y 相同。
就可推得圖片內第一段的式子,有了這個前提之後,要來比較我們找的 $w_t$ 和 $w_f$。
有 min 那項為離線最近的點,但它的分類仍為正確的,所以會大於 0。
要比較兩個向量,可以把它們做 內積,值越大,代表它們夾角 越小,也就是越接近。
透過圖中的推導可以發現(注意顏色及其對應的式子), $w_t$ 和 $w_f$ 做內積的值會越來越大,也就是越來越接近。
而使得內積的值變大,也有可能是因為 $w$ 的長度變長,而不是夾角變小啊,那怎辦呢?
這邊重提一個重點,PLA 是只有在 出錯 時才會進行修正。而在出錯時,與結果符號不相符,會有下圖中 藍色 的數學式子。
經過一番推導可以發現,實際上影響 $w_t$ 長度增加的關鍵會是 ${\Vert{y_{n(t)}x_{n(t)}}\Vert}^2$ 此項是正的。成長的速度 不會 這麼快。
經過 $T$ 次錯誤修正後
$\frac {w^T_f}{\Vert{w_f}\Vert} \frac {w_T}{\Vert{w_T}\Vert}$這兩個單位向量做內積,就可得到它們之間的餘弦(cos),而 $T$ 是次數,也就代表了它們越來越接近。那當然也不是無止境的接近,cos 的最大值為 1。
( $\overrightarrow{A} \cdot \overrightarrow{B} = \vert{A}\vert\vert{B}\vert cos\theta$ )
最後我們可以知道在 Data Linear Separability 的前提下,PLA 最後會停下來。
小練習
呼應剛剛所講:
至於為甚麼答案是這樣…..到底怎算的阿Orz
四 Non-Separable Data
PLA 的問題
實際上我們要知道 Data 是不是 Linear Separability ,我們需要知道它的 $w_f$ ,但顯然得我們不知道。就算假設我們知道它是 Linear Separability ,也無從得知 PLA 何時會停止。
Noise
現在有些點是不合理的,比如資料錯誤等等,這時候就是所謂的 雜訊(Noise) 。此時我們無法找到一條線來分類,使得在所有點的清況下都不出錯。
剛說到 PLA 會在沒有錯誤的時候停止,代表找到一條 $w_g$ 。 我們在這邊只好退而求其次,將所謂的 最好 的線定義為出錯次數 最少 的。結果這樣一個做法是個 NP-hard 的問題,所以也沒辦法有效率的解決。
所以我們要用的是 Pocket Algorithm 。
Pocket Algorithm
在不是 Linear Separability 的情況下,可以考慮 Pocket Algorithm。
PLA 的一種變形,用比較隨機的方式去找出錯誤的點,然後修正它,接著將它與之前找到的 $w_t$ 做比較,看哪條比較好就留下哪條。(做了足夠的檢查後就停止)
補充
關於 PLA 和 pocket 的寫法 : http://wizmann.tk/ml-foundations-pla.html
網路上也有蠻多關於它們的資訊就是了。